package com.symone.webcms.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;

import lombok.Data;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModelProperty;

/**
 *   @description : Notification 实体类
 *   ---------------------------------
 * 	 @author Archer Chu
 *   @since 2019-03-19
 */
@Data
@Accessors(chain = true)
@TableName("sys_notification_table")
public class Notification extends Model<Notification> {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
	@ApiModelProperty("ID")
	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 通知标题
     */
	@ApiModelProperty("通知标题")
	private String title;
    /**
     * 图标
     */
	@ApiModelProperty("图标")
	private String icon;
    /**
     * 链接地址
     */
	@ApiModelProperty("链接地址")
	private String url;
    /**
     * 用户ID
     */
	@ApiModelProperty("用户ID")
	@TableField("user_id")
	private Long userId;
    /**
     * 级别
     */
	@ApiModelProperty("级别")
	private String level;
    /**
     * 已读
     */
	@ApiModelProperty("已读")
	@TableField("is_read")
	private Boolean isRead;
    /**
     * 状态(1,正常;0,删除;)
     */
	@ApiModelProperty("状态(1,正常;0,删除;)")
	private Boolean status;
    /**
     * 创建时间
     */
	@ApiModelProperty("创建时间")
	@TableField("create_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;
    /**
     * 更新时间
     */
	@ApiModelProperty("更新时间")
	@TableField("update_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date updateTime;


	@Override
	protected Serializable pkVal() {
		return this.id;
	}
}
